Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add emulated packs for win-arm64 #231

Merged
merged 5 commits into from
Oct 7, 2022
Merged

Conversation

lewing
Copy link
Member

@lewing lewing commented Oct 4, 2022

No description provided.

@lewing lewing requested review from steveisok and joeloff October 4, 2022 16:20
@joeloff
Copy link
Member

joeloff commented Oct 4, 2022

To build arm-64, we need to update this

https://github.com/dotnet/runtime/blob/782aa155d4fd7d84728091bd9b9da54c4f6ac161/src/workloads/workloads.csproj#L139

and separate out the manifest packages that flow to VS that supports arm64, then add the necessary metadata, something like

<ManifestPackages Include="$(PackageSource)Microsoft.NET.Workload.Mono.ToolChain.6.0-6.0.300.Manifest-*.nupkg" MsiVersion="$(MsiVersion)"/>
<ManifestPackages Include="$(PackageSource)Microsoft.NET.Workload.Mono.ToolChain.6.0-6.0.900*Manifest-*.nupkg" MsiVersion="$(MsiVersion)" SupportsMachineArch="true" />

Also, we need to make sure Arcade/main has all the updates we made in 6.0 and 7.0. I'll check to see if those changes were merged to Arcade/main.

@steveisok
Copy link
Member

As it relates to emsdk, what should I put here? The version numbers in your example are tripping me up because they are auto-generated.

<ManifestPackages Include="$(PackageSource)Microsoft.NET.Workload.Emscripten*.Manifest*.nupkg"
Exclude="$(PackageSource)Microsoft.NET.Workload.Emscripten*.Manifest*.msi*.nupkg"
MsiVersion="$(MsiVersion)"/>

@joeloff
Copy link
Member

joeloff commented Oct 5, 2022

As it relates to emsdk, what should I put here? The version numbers in your example are tripping me up because they are auto-generated.

<ManifestPackages Include="$(PackageSource)Microsoft.NET.Workload.Emscripten*.Manifest*.nupkg"
Exclude="$(PackageSource)Microsoft.NET.Workload.Emscripten*.Manifest*.msi*.nupkg"
MsiVersion="$(MsiVersion)"/>

Sorry, the example was a bit contrived. In the release branches we define all the feature bands in eng\versions.props. I was thinking perhaps we add the information explicitly. Again, this is just an example

  <!-- Expand the items in versions.props -->
  <ItemGroup>
    <WorkloadSdkBandVersions Include="6.0.100" SupportsMachineArch="true"/>
    <WorkloadSdkBandVersions Include="6.0.300" SupportsMachineArch="false"/>
    <WorkloadSdkBandVersions Include="6.0.400" SupportsMachineArch="true"/>
  </ItemGroup>
  
  <!-- In workload.csproj, include the manifests packages based on the defined feature band versions we get from versions.props, but ignore the runtime version and set the SupportsMachineArch metadata accordingly -->
  <Target Name="L">
    <ItemGroup>
      <F Include="Microsoft.NET.Workload.Emscripten.Manifest-%(WorkloadSdkBandVersions.Identity)" SupportsMachineArch="%(SupportsMachineArch)" />
    </ItemGroup>    
    <Message Text="%(F.Identity), SupportsMachineArch: %(SupportsMachineArch)" />
  </Target>

@steveisok
Copy link
Member

@steveisok steveisok merged commit da77353 into dotnet:main Oct 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants